边缘节点环境搭建成功后,会在边缘节点上启动一个MQTT Broker,用于提供MQTT协议的设备连接和鉴权功能,Broker支持标准 MQTT V3.1.1 版本,接入服务地址如下
连接协议 | 地址 | 端口 | 说明 |
---|---|---|---|
MQTT | 边缘节点IP | 1883 | 加密接口 |
按照用户指南介绍,创建MQTT产品和设备,然后将设备与边缘节点关联。
其中: 设备名称产品内具有唯一性,推荐采用设备sn、mac地址等信息命名设备
设备创建时,平台为每个设备分配了唯一的 设备秘钥,设备连接边缘节点MQTT Broker时需要使用 通过 设备秘钥 计算出的访问token 来进行访问安全认证,计算方式如下:
参数 | 类型 | 参数说明 |
---|---|---|
productId | string | 产品id |
deviceId | string | 设备id |
deviceSecret | string | 设备密钥 |
&
符号连接成字符串并转换为字节数组。HMAC
算法, 使用SHA-1
算法作为HMAC
的密码散列函数, 使用步骤2中计算的值作为HMAC
算法的密钥对步骤1中的数据进行hash计算。queryStr := deviceId + "&" + productId
key := []byte(deviceSecret)
mac := hmac.New(sha1.New, key)
mac.Write([]byte(queryStr))
authToken := base64.StdEncoding.EncodeToString(mac.Sum(nil))
MQTT设备连接Broker的请求参数中,三要素填写方法如下:
参数 | 是否必须 | 参数说明 |
---|---|---|
clientId | 是 | 设备ID |
username | 是 | 平台分配的产品ID |
password | 是 | token算法计算生成的token |